package com.wisemoresystem.seal.util.abchinaFinger.cics;

import com.wisemoresystem.seal.util.abchinaFinger.common.StringUtil;

public class PasswordRequest {

	// 农行密码登录
	// 公有区报文：【2位省号】+【1位渠道类型】+【30空格】+【2位应用码】+【4位交易号】+【TERM】+【4位终端号】+【4位序列号】+
	// 【4位柜员号】+【T】+【60空格】+【9个0】+【8个空格】+【0】+【空格空格】+【0】+【空格空格】
	// 渠道类型填 3 ， 应用码填 53 交易码填 5313，柜员/终端填 [需向农行申请，其他省使用了CI00]
	// 私有区报文：【2位省号】+【4位柜员号】+【4位密码】

	private String szProNo; // 2位省代码 山西04
	private String szSysTeller; // 2位系统柜员号
	private String szSysTerm; // 2位逻辑终端
	private String szChanType; // 1位渠道类型 3
	private String szTransCode; // 4位交易码 5313
	private String szApplCode; // 2位应用码 交易码前2位
	private String szTeller; // 4位密码认证柜员号
	private String szPassword; // 4位柜员密码

	public PasswordRequest() {
		szChanType = "3";
		szTransCode = "5313";
		szApplCode = szTransCode.substring(0, 2);
	}

	public String toString() {
		StringBuffer szResult = new StringBuffer();
		try {
			// 公共报文部分
			szResult.append(StringUtil.getFixedLengthString(szProNo, 2));
			szResult.append(StringUtil.getFixedLengthString(szChanType, 31));
			szResult.append(StringUtil.getFixedLengthString(szApplCode, 2));
			szResult.append(StringUtil.getFixedLengthString(szTransCode, 4));
			szResult.append("TERM");
			szResult.append(StringUtil.getFixedLengthString(szSysTerm, 8, '0',
					StringUtil.ALIGNLEFT));
			szResult.append(StringUtil.getFixedLengthString(szSysTeller, 4));
			szResult.append(StringUtil.getFixedLengthString("T", 61));
			szResult.append("000000000        0  0  ");
			// 私有报文
			szResult.append("0"); // 1位认证类型
			szResult.append(StringUtil.getFixedLengthString(szProNo, 2));
			szResult.append(StringUtil.getFixedLengthString(szTeller, 4));
			szResult.append(StringUtil.getFixedLengthString(szPassword, 4));
		} catch (Exception e) {
			e.printStackTrace();
		}
		return szResult.toString();

	}

	public String getSzProNo() {
		return szProNo;
	}

	public void setSzProNo(String szProNo) {
		this.szProNo = szProNo;
	}

	public String getSzSysTeller() {
		return szSysTeller;
	}

	public void setSzSysTeller(String szSysTeller) {
		this.szSysTeller = szSysTeller;
	}

	public String getSzSysTerm() {
		return szSysTerm;
	}

	public void setSzSysTerm(String szSysTerm) {
		this.szSysTerm = szSysTerm;
	}

	public String getSzTeller() {
		return szTeller;
	}

	public void setSzTeller(String szTeller) {
		this.szTeller = szTeller;
	}

	public String getSzPassword() {
		return szPassword;
	}

	public void setSzPassword(String szPassword) {
		this.szPassword = szPassword;
	}

}
